<?php


namespace app\api\controller\v1;


use app\api\controller\BaseController;
use app\api\service\Pay;
use app\api\service\WxNotify;
use app\api\validate\IDMustBePostivelnt;

class PayController extends BaseController {

    //权限控制，只能是用户才可以进行支付
    protected  $beforeActionList = [
        'checkExclusiveScope'=>['only'=>'getPreOrder']
    ];

    public function getPreOrder($id=''){
        (new IDMustBePostivelnt())->goCheck();
        $payService = new Pay($id);
        $res = $payService->pay();
        return json($res);
    }

    //接受微信回调的数据
    public function receiveNotify(){
        //微信调取通知频率15/15/30/180/1800
        /**
         * 1.检测库存，防止超卖
         * 2.更新这个订单的支付状态
         * 3.减库存
         *
         * 如果成功处理，返回微信成功处理的信息，否则返回没有成功处理的参数
         *
         * return_code : 是通信表示，表示此次支付通讯成功
         * result_code : 是支付成功的表示
         *
         */

        $notify = new WxNotify();
        //$notify->NotifyProcess();//不能直接调用该方法，这个方法中需要微信发给我们的支付回调参数
        $notify->Handle();










    }



}



